package com.yvon.core.page;

import java.io.Serializable;
import java.util.List;

public abstract class BaseListData<T> implements Serializable {
    private static final long serialVersionUID = -9099608935894015636L;
    private long page;
    private long size;
    private long totalPages;
    private long totalElements;
    private Boolean hasPrevious;
    private Boolean hasNext;
    private Boolean first;
    private Boolean last;
    private List<T> list;

    public BaseListData() {
    }

    public abstract long getPage();

    public abstract long getSize();

    public abstract long getTotalPages();

    public abstract long getTotalElements();

    public abstract Boolean getHasPrevious();

    public abstract Boolean getHasNext();

    public abstract Boolean isFirst();

    public abstract Boolean isLast();

    public List<T> getList() {
        return this.list;
    }

    public void setList(List<T> list) {
        this.list = list;
    }
}
